<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        // 把一个对象的全部内容，复制到另外一个对象中
        var obj = {
            name: '刘敏小孩子',
            age: 18,
            sex: '男',
            car: ['奔驰','宝马','奥迪','艾玛'],
            dog: {
                name: {
                    hi: '22',
                },
                color: 'orange',
                age: 2
            },
            sayHi: function () {
                console.log('hello');
            }
        }
        var obj2 = {};
        // 将obj对象重的属性和方法复制到obj2空对象中
        function extend(a, b) {
            for(var key in a) {
                var item = a[key];
                if(item instanceof Array) {
                    // 如果是数组，那么在b中创建一个名为key的空数组
                    b[key] = [];
                    // 然后传入是数组的item，传入创建的空数组,递归式，直到找到是基本类型的,为止
                    extend(item,b[key]);
                } else if(item instanceof Object) {
                    b[key] = {};
                    extend(item, b[key]);
                } else {
                    b[key] = item;
                }
            }
        }
        extend(obj, obj2);
        console.log(obj2);
    </script>
</body>
</html>